--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / IntegrityWarningModal.vue
Displaying Raw • Download
meshchatx/src/frontend/components/IntegrityWarningModal.vue 32e97c105419d3bcede5c1311df3ffb63b8305a4 (32e97c10) Text, 4.47 KB
T8b949e<!-- SPDX-License-Identifier: 0BSD -->
Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72v-dialog Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3visibleTa5d6ff" Te6edf3persistent Te6edf3max-widthTff7b72=Ta5d6ff"500"Tb4b4b4>
Tb4b4b4<Tff7b72v-card Te6edf3colorTff7b72=Ta5d6ff"warning" Te6edf3classTff7b72=Ta5d6ff"pa-4"Tb4b4b4>
Tb4b4b4<Tff7b72v-card-title Te6edf3classTff7b72=Ta5d6ff"headline text-white"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3start Te6edf3iconTff7b72=Ta5d6ff"mdi-alert-decagram" Te6edf3classTff7b72=Ta5d6ff"mr-2"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.security_integrity"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72v-card-titleTb4b4b4>
Tb4b4b4<Tff7b72v-card-text Te6edf3classTff7b72=Ta5d6ff"text-white mt-2"Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3integrityTb4b4b4.Te6edf3backend Tff7b72&& Tff7b72!Te6edf3integrityTb4b4b4.Te6edf3backendTb4b4b4.Te6edf3okTa5d6ff"Tb4b4b4>
Tb4b4b4<Tff7b72strongTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.tampering_detected"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72strong
Tb4b4b4>Tb4b4b4<Tff7b72br Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.integrity_backend_error"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3integrityTb4b4b4.Te6edf3data Tff7b72&& Tff7b72!Te6edf3integrityTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3okTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"mt-2"Tb4b4b4>
Tb4b4b4<Tff7b72strongTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.tampering_detected"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72strong
Tb4b4b4>Tb4b4b4<Tff7b72br Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.integrity_data_error"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72v-expansion-panels Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3issuesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff" Te6edf3variantTff7b72=Ta5d6ff"inset" Te6edf3classTff7b72=Ta5d6ff"mt-4"Tb4b4b4>
Tb4b4b4<Tff7b72v-expansion-panel Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'about.technical_issues'Tb4b4b4)Ta5d6ff" Te6edf3bg-colorTff7b72=Ta5d6ff"warning-darken-1"Tb4b4b4>
Tb4b4b4<Tff7b72v-expansion-panel-textTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"text-caption"Tb4b4b4>
Tb4b4b4<Tff7b72li Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3issueTb4b4b4, Te6edf3indexTb4b4b4) Tff7b72in Te6edf3issuesTa5d6ff" Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3indexTa5d6ff"Tb4b4b4>Tff7b72{{ Te6edf3issue Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-expansion-panel-textTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-expansion-panelTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-expansion-panelsTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"mt-4 text-caption"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"about.integrity_warning_footer"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-card-textTb4b4b4>
Tb4b4b4<Tff7b72v-card-actionsTb4b4b4>
Tb4b4b4<Tff7b72v-checkbox
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3dontShowAgainTa5d6ff"
Tb4b4b4:Te6edf3labelTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'app.do_not_show_again'Tb4b4b4)Ta5d6ff"
Te6edf3densityTff7b72=Ta5d6ff"compact"
Te6edf3hide-details
Te6edf3classTff7b72=Ta5d6ff"text-white"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-checkboxTb4b4b4>
Tb4b4b4<Tff7b72v-spacerTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-spacerTb4b4b4>
Tb4b4b4<Tff7b72v-btn Te6edf3variantTff7b72=Ta5d6ff"text" Te6edf3colorTff7b72=Ta5d6ff"white" Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3closeTa5d6ff"Tb4b4b4> Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"common.continue"Tb4b4b4) Tff7b72}} Tb4b4b4<Tb4b4b4/Tff7b72v-btnTb4b4b4>
Tb4b4b4<Tff7b72v-btn
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3integrityTb4b4b4.Te6edf3data Tff7b72&& Tff7b72!Te6edf3integrityTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3okTa5d6ff"
Te6edf3variantTff7b72=Ta5d6ff"flat"
Te6edf3colorTff7b72=Ta5d6ff"white"
Te6edf3classTff7b72=Ta5d6ff"text-warning font-bold"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3acknowledgeAndResetTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"common.acknowledge_reset"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72v-btnTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-card-actionsTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-cardTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-dialogTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3ToastUtils Tff7b72from Ta5d6ff"../js/ToastUtils"Tb4b4b4;
Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"IntegrityWarningModal"Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3visibleTff7b72: Tff7b72falseTb4b4b4,
Te6edf3dontShowAgainTff7b72: Tff7b72falseTb4b4b4,
Te6edf3integrityTff7b72: Tb4b4b4{
Te6edf3backendTff7b72: Tb4b4b4{ Te6edf3okTff7b72: Tff7b72trueTb4b4b4, Te6edf3issuesTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4}Tb4b4b4,
Te6edf3dataTff7b72: Tb4b4b4{ Te6edf3okTff7b72: Tff7b72trueTb4b4b4, Te6edf3issuesTff7b72: Tb4b4b4[Tb4b4b4] Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3computedTff7b72: Tb4b4b4{
Te6edf3issuesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4[Tb4b4b4...Tff7b72thisTb4b4b4.Te6edf3integrityTb4b4b4.Te6edf3backendTb4b4b4.Te6edf3issuesTb4b4b4, Tb4b4b4...Tff7b72thisTb4b4b4.Te6edf3integrityTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3issuesTb4b4b4]Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3mountedTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tffa657windowTb4b4b4.Te6edf3electron Tff7b72&& Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3getIntegrityStatusTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3integrity Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3getIntegrityStatusTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3isOk Tff7b72= Tff7b72thisTb4b4b4.Te6edf3integrityTb4b4b4.Te6edf3backendTb4b4b4.Te6edf3ok Tff7b72&& Tff7b72thisTb4b4b4.Te6edf3integrityTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3okTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3isOkTb4b4b4) Tb4b4b4{
T8b949e// Check if user has already dismissed this
Tff7b72const Te6edf3dismissed Tff7b72= Te6edf3localStorageTb4b4b4.Te6edf3getItemTb4b4b4(Ta5d6ff"integrity_warning_dismissed"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3appVersion Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3appVersionTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3dismissed Tff7b72!== Te6edf3appVersionTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Tff7b72async Te6edf3closeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3dontShowAgain Tff7b72&& Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3appVersion Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3appVersionTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3localStorageTb4b4b4.Te6edf3setItemTb4b4b4(Ta5d6ff"integrity_warning_dismissed"Tb4b4b4, Te6edf3appVersionTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3acknowledgeAndResetTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/app/integrity/acknowledge"Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.integrity_acknowledged_reset"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"about.failed_acknowledge_integrity"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>
Tb4b4b4<Tff7b72style Te6edf3scopedTb4b4b4>
Tb4b4b4.T56d364text-white Tb4b4b4{
Tff7b72colorTb4b4b4: Tff7b72white Tff7b72!importantTb4b4b4;
Tb4b4b4}
Tb4b4b4<Tb4b4b4/Tff7b72styleTb4b4b4>
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────